Current File : /home/jeconsul/public_html/wp-content/plugins/sureforms/assets/js/minified/form-submit.min.js |
import{fieldValidation,initializeInlineFieldValidation,handleScrollAndFocusOnError,handleCaptchaValidation}from"./validation";import{applyFilters}from"@wordpress/hooks";import{__}from"@wordpress/i18n";function prepareAddressesData(e){e=e.querySelectorAll(".srfm-address-block");if(!e)return null;const t={};return e.forEach(e=>{var r=e.getAttribute("data-slug");r&&(e=e.querySelectorAll(".srfm-input-input, .srfm-dropdown-input"),e=Array.from(e).map(e=>e?.value?.trim()).filter(Boolean).join(", "),t[r]=e)}),0<Object.keys(t).length?t:null}async function submitFormData(e){var r,t,s=new FormData(e),o=new FormData,a=["srfm-email-confirm","srfm-password-confirm"];for([r,t]of s.entries())a.includes(r)||(""!==t&&(e.querySelector(`[name="${r}"]`)?.closest(".srfm-block-single"))?.classList.contains("hide-element")&&(t=""),o.append(r,t));s=prepareAddressesData(e);s&&o.append("srfm_addresses",JSON.stringify(s));try{return await wp.apiFetch({path:"sureforms/v1/submit-form",method:"POST",body:o})}catch(e){console.log(e)}}async function afterSubmit(e){e=e.data.submission_id;try{await wp.apiFetch({path:"/sureforms/v1/after-submission/"+e,method:"GET"})}catch(e){console.error(e)}}function showSuccessMessage(e,r,t,s,o,a,i){a=new CustomEvent("srfm_on_show_success_message",{cancelable:!0,detail:{form:s,element:r,message:t,submitType:a,container:e,loader:i}});document.dispatchEvent(a)&&("hide form"===o?(s.style.opacity=1,s.style.display="none",setTimeout(()=>{r.style.opacity=1},500)):"reset form"===o&&s.reset(),r.innerHTML=t,e.classList.add("srfm-active"),window?.srfm?.handleInstantFormWrapperHeight(),applyFilters("srfm.enableScrollOnSuccess",!0))&&s.parentElement.scrollIntoView({behavior:"smooth"})}function redirectToUrl(e){window.location.assign(e)}function dispatchErrorEvent(e){var{form:e,message:r="",position:t="footer"}=e.detail||{};e&&(r=r||__("There was an error trying to submit your form. Please try again.","sureforms"),e=e.querySelector(".srfm-common-error-message."+("header"===t?"srfm-head-error":"srfm-footer-error")))&&(e.querySelector(".srfm-error-content").innerHTML=r,e.removeAttribute("hidden"),handleScrollAndFocusOnError({firstErrorInput:e,scrollElement:e}))}function showErrorMessage(e){var{form:e,message:r="",position:t="footer"}=e,e=new CustomEvent("srfm_show_common_form_error",{detail:{form:e,message:r,position:t}});document.dispatchEvent(e)}function hideErrorMessage(e){e.querySelectorAll(".srfm-common-error-message").forEach(e=>{e.setAttribute("hidden",!0)})}async function handleFormSubmission(r,t,s,e,o,a,i,n,c,m,l,u,d,f){try{o.classList.add("srfm-active"),hideErrorMessage(r);var p,h,b=await fieldValidation(t,s,e,r),v=handleCaptchaValidation(l,u,d,f);b?.validateResult||!v?(o.classList.remove("srfm-active"),b?.validateResult?handleScrollAndFocusOnError(b):v||handleScrollAndFocusOnError({firstErrorInput:f,scrollElement:f})):(p=new CustomEvent("srfm_on_trigger_form_submission",{cancelable:!0,detail:{form:r,loader:o,formId:t,submitType:c,successElement:n,successContainer:i}}),document.dispatchEvent(p)?(h=await submitFormData(r))?.success?(emitFormSubmitSuccess({...h,formId:t}),"same page"===c?(showSuccessMessage(i,n,h?.message??"",r,m,c),o.classList.remove("srfm-active")):["different page","custom url"].includes(c)?(h?.redirect_url&&redirectToUrl(h?.redirect_url),o.classList.remove("srfm-active")):showSuccessMessage(i,n,h?.message??"",r,m,c,o),h?.data?.after_submit&&afterSubmit(h)):(showErrorMessage({form:r,...h?.data||{}}),o.classList.remove("srfm-active")):o.classList.remove("srfm-active"))}catch(e){s=new CustomEvent("srfm_on_trigger_form_submission_failure",{detail:{form:r,error:e,loader:o,formId:t,submitType:c,successElement:n,successContainer:i}});document.dispatchEvent(s),o.classList.remove("srfm-active"),showErrorMessage({form:r})}}function extractFormAttributesAndElements(e){var r=e.getAttribute("form-id"),t=e.getAttribute("message-type"),s=e.getAttribute("success-url"),o=e.getAttribute("ajaxurl"),a=e.getAttribute("data-nonce"),i=e.querySelector(".srfm-loader"),n=e.parentElement.querySelector(".srfm-single-form.srfm-success-box"),c=n?.querySelector(".srfm-success-box-description"),m=e.querySelector("#srfm-submit-btn"),l=e.getAttribute("after-submission"),u=e.querySelector(".g-recaptcha");return{formId:r,submitType:t,successUrl:s,ajaxUrl:o,nonce:a,loader:i,successContainer:n,successElement:c,submitBtn:m,siteKey:u?.getAttribute("data-sitekey"),recaptchaType:u?.getAttribute("recaptcha-type"),afterSubmission:l,captchaErrorElement:e.querySelector("#captcha-error"),hCaptchaDiv:e.querySelector(".h-captcha"),turnstileDiv:e.querySelector(".cf-turnstile")}}function recaptchaCallback(p=""){Array.from(document.querySelectorAll(".srfm-form")).forEach(e=>{const{formId:r,submitType:t,successUrl:s,ajaxUrl:o,nonce:a,loader:i,successContainer:n,successElement:c,submitBtn:m,siteKey:l,recaptchaType:u,afterSubmission:d}=extractFormAttributesAndElements(e);let f=!1;"v2-invisible"===u&&(grecaptcha.render(m,{sitekey:l,callback:()=>{handleFormSubmission(e,r,o,a,i,s,n,c,t,d),f=!0}}),m.addEventListener("click",()=>{i.classList.add("srfm-active"),f&&handleFormSubmission(e,r,o,a,i,s,n,c,t,d)})),"v3-reCAPTCHA"===u&&p&&(i.classList.add("srfm-active"),handleFormSubmission(e,r,o,a,i,s,n,c,t,d))})}function emitFormSubmitSuccess(e){e=new CustomEvent("srfm_form_submission_success",{detail:{formId:"srfm-form-"+e.formId}});document.dispatchEvent(e)}document.addEventListener("DOMContentLoaded",function(){initializeInlineFieldValidation();for(const t of Array.from(document.querySelectorAll(".srfm-form"))){const{formId:s,submitType:o,successUrl:a,ajaxUrl:i,nonce:n,loader:c,successContainer:m,successElement:l,recaptchaType:u,afterSubmission:d,captchaErrorElement:f,hCaptchaDiv:p,turnstileDiv:h}=extractFormAttributesAndElements(t),b="v2-checkbox"===u||!!p||!!h;t.addEventListener("submit",async e=>{e.preventDefault();e=e.target;if("FORM"===e?.tagName){var r=(e?.closest(".srfm-form-container"))?.classList.contains("srfm-submit-button-hidden"),e=e?.querySelector("button.srfm-custom-button");if(r&&!e)return void console.warn("Form submission is disabled because the submit button is hidden.")}handleFormSubmission(t,s,i,n,c,a,m,l,o,d,b?u:void 0,b?p:void 0,b?h:void 0,b?f:void 0)})}}),document.addEventListener("srfm_show_common_form_error",dispatchErrorEvent),window.recaptchaCallback=recaptchaCallback,window.handleBricksPreviewFormSubmission=function(){for(const e of Array.from(document.querySelectorAll(".srfm-form")))e.addEventListener("submit",async function(e){e.preventDefault()})};